package com.kaifamiao.www.demo.do0816;

import java.util.Hashtable;

public class HashtableDemo {
    public static void main(String[] args) {
        /**
         * 该类实现了一个哈希表，它将键映射到值
         * 不允许null作为键和值
         * 默认初始容量（initialCapacity）为11，默认负载因子（loadFactor）为0.75F
         * 同步的（线程安全的）
         * 不保证顺序
         * 扩容方式是就容量的2倍+1（选择这种扩容方式是为了均匀分布，降低冲突率）
         * 数组加链表方式存储
         *
         */
        Hashtable hashtable = new Hashtable();

        hashtable.put("a",1);
        hashtable.put("b",2);
        hashtable.put("c",3);
        hashtable.put("d",4);
        hashtable.put("e",5);
        System.out.println(hashtable);
        /**
         * 添加值时
         * 如果hash一样，equals为false 则将当前元素添加到链表头
         * 如果hash一样，equals为true 则使用当前值替换原来的值（key相同）
         */
        hashtable.put(97,11);
        hashtable.put("a",22);
        System.out.println(hashtable);

    }
}
